package se.vgregion.icc.handlers;

/***
 * Interface to be implemented of all ResponseHandler implementations.
 * Implementations must be annotated with @DependencyResponseHandler for it to work with spring.
 * 
 * @author ricra2 & andan40
 * @see {@link se.vgregion.icc.handlers.annotations.DependencyResponseHandler}
 */
public interface ResponseHandler {

    /***
     * Handles unmarshal of xml that is of it's own type.
     * 
     * @param xmlToUnmarshal xml String to unmarshal.
     * @return unmarshalled object.
     */
    Object unmarshal(String xmlToUnmarshal);

    /***
     * The tag name of the class that this handler can process.
     * 
     * @return String name of tag.
     */
    String getHandledClassTagName();
}
